#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>
#include <QResizeEvent>
#include <QTimer>
#include <thread>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

    void resizeEvent(QResizeEvent *event);


private slots:
    void on_pushButton_clicked();

    void handle();

    void handle_bar();

    void on_calendarWidget_selectionChanged();

private:
    Ui::Widget *ui;

    // 如果该.h文件不包含QTimer这个头文件，这里也不会报错
    // 这是因为Qt中有一个专门的头文件，会包含所有类的前置声明，这个头文件一般不会直接接触到，但是包含其他头文件，都会间接包含这个头文件
    // 在这个特殊的头文件中，如果Widget类的前面已经声明了QTimer这个类，就可以在Widget这个列中声明QTimer的指针或引用类型的成员变量
    // 但是如果真正要使用(创建实例、使用其中的成员或方法)，就还是要包含QTimer头文件
    // 这主要是为了提高编译速度，因为头文件展开，可能会间接展开很多头文件
    QTimer* timer;

    QTimer* timer2;
};
#endif // WIDGET_H
